Make a Lisp
Lisp処理系実装をするやつ
malというLisp方言の処理系を作る
Clojure inspiredな言語
数多くの言語での実装が載ってる
解説もあるがそこまでわかりやすくない
基本的にはThe Make-A-Listp Processを読みながら進めていく
step0~step9とstepAがあり全部で11stepある
stepAはセルフホスト
Joel Martinが開発者
この人、何個の言語で実装しとんねんってぐらい再実装してる
kanaka/mal: mal - Make a Lisp
Make a LispをPureScriptでやった
Ada, C, Swiftなどはいくつかのversionがある
malによるセルフホストもある
これはstep Aで使われる
makeやJSONやjqなど、トリッキー言語(?)による実装もある
wasmとかもある
2021/6/20現在はV言語とかはない
mrsekut.iconの分かる範囲で日本語の実装者は
AWKが@kariya-mitsuru
Crystalが@rhysd
TypeScriptが@vvakame
PureScriptがmrsekut.icon
雑に行数でsortする
$ find ./impls/ -name "step9_try.*" | xargs wc -l | sort -nk1
行数だけ見るとNASMが一番多い
日本語の関連記事
Make a Lisp で Lisp 処理系を学んでつくる (with Crystal) - はやくプログラムになりたい
Crystalで実装したドッグ氏のblog
72のプログラミング言語に移植された埋め込み可能なLISP言語の紹介 (複数言語を使った開発プロジェクトで同じコード/ロジックを再利用できます。JavaScript編) - Qiita
上の記事のコピペがある。何で書こうと思ったのかよくわからん
/miyamonz/make a lispをやる
/miyamonz/make a lisp 2週目